查看原文
其他

基于Python的ArcGIS脚本编程知识点总结

Dirtliu 测绘地信论坛 2023-01-11


1. ArcGIS中的组件—ArcObjects


Esri主要使用C++开发ArcGIS软件,在ArcGIS软件中,所有的组件或者对象被统称为ArcObjects


ArcObjects部分知识点如下:


ArcObjects库包含了esri公司开发ArcGIS软件用到的所有编程对象,开发人员可以使用ArcObjects构建新的应用程序或扩展ArcGIS应用程序现有功能。

(个人理解:既然如此,我们是可以用这些AO对象搭建一个新的ArcGIS软件如ArcMap、ArcCatalog等的,ArcObjects包含了数以千计的对象,但是需要与系统语言配合使用。)


大部分系统工具和整个地理处理框架的构建也是通过ArcObjects完成的;

Esri对整个ArcObject(AO)进行了结构和组织的分割,按照应用领域可以分为:

3D Analysis Extension

Application Framework

Arcmap

ArcCatalog

Geodatabase

Geometry等等


2. ArcGIS中的Python语言


Python也是ArcGIS采用的程序语言,但是不像C++一样用于底层开发,仅仅用于相对简单的脚本编程和高级程序设计。


3. ArcGIS中的工具种类


○ 内置工具:由ArcObjects以及.Net和C++的编译型程序语言构建;

○ 模型工具:ModelBuilder;

○ 脚本工具:由python编写;

○ 特殊工具:这种工具是由系统开发人员开发的,很少见。我记得是在哪里见过,但是忘了。


4. ArcGIS中设置“覆盖地理处理”


在【Geoprocessing】→】Geoprocessing Options】中具有此选项,默认关闭,若打开,即表明在工具使用时,若输出的数据已经存在,将出现一条警告消息,但是工具仍旧可以运行,只不过会覆盖掉已经存在的数据集。具体如下图:



5. ArcGIS中环境设置的级别理解


第一层次:应用程序级的环境设置

在ArcToolBox窗口空白处,右键选择Environments,将会出现环境设置对话框,这里的所有环境设置将会传递给所有通过ArcToolBox使用的工具;


第二层次:工具级环境设置

即每一个工具你双击打开准备运行时都将在下方出现一个Environment选项,通过它设置的环境变量将仅仅针对于当前运行的工具,它将覆盖掉第一层次的环境设置;


第三层次:模型级环境设置

即在ModelBuilder中的环境设置,它将覆盖掉第一层次和第二层次的环境设置;


第四层次:脚本级环境设置

即我们在python脚本中具体写了环境的具体设置,即例如使用了脚本语言更改了环境中的临时工作空间,当前工作空间等。
这一级别最高,它可以覆盖掉前面三个层次ide环境设置。


6. ArcGIS工具中的批处理Batch


所有的地理处理工具都可以进行批处理(只不过我们平时没有用到而已)

具体步骤为:右键某一工具,选择【Batch】:



此时将会打开盖工具的批处理对话框,如Clip工具的批处理如下:



我们可以通过复制粘贴或者Fill选项等来快捷输入参数。同时右下方√表示对输入参数进行验证,如果输入参数有误,则将报错。


7. 设置定时运行某一脚本


可以在电脑【控制面板】→【管理工具】→【任务计划程序】中新建基本任务,根据向导创建一个定时运行某一个python脚本的程序。具体不再赘述。



8. python窗口选项介绍


从ArcMap中进入Python窗口后右键,将出现一些快捷命令:



其中简单的不说了,提出以下两个:

Show Default Choices :选中时,将开启代码自动补全,反之则关闭;

Load:可以将脚本文件中的代码加载到python窗口中。


本文章转载于csdn,作者 Dirtliu

版权归原作者所有,如有侵权请告知删除


END


你知道,ArcGIS中的地理坐标系转换方法参数吗
解决ArcGIS坐标之惑:地理坐标系和投影坐标区别及常用操作
ArcGIS实用制图技巧 | 处理好这些细节才能让图更专业


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存